Information processing apparatus, information processing method and program

ABSTRACT

An information processing apparatus configured to connected via a network to a one or a plurality of remote apparatuses each of which processes information. The information processing apparatus includes a detection unit for detecting that an imaging apparatus is connected thereto, a determination unit for determining, according to processing to be performed on media data photographed by the imaging apparatus, whether the processing is performed by the information processing apparatus, an execution instruction unit for issuing, when the determination unit determines that the processing is not performed by the information processing apparatus, an execution instruction to the remote apparatus capable of performing the processing to perform the processing on the media data, and a media data receiving unit for receiving from the remote apparatus to which the execution instruction is issued, the media data on which the processing is performed.

CROSS REFERENCE OF RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/574072 filed Oct. 6, 2009 which claims the benefit of JapaneseApplication No. 2008-266669 filed Oct. 15, 2008, all of which are herebyincorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatusconnected via network to a remote apparatus which can processinformation, an information processing method to be performed by theinformation processing apparatus, and a computer readable storage mediumfor causing a computer to perform the information processing method.

2. Description of the Related Art

Recently, with the popularization of network-connected home electricappliances, it has been able to construct, in a home network, a systemin which digital audio-visual (AV) devices and a personal computer (PC)are interconnected to one another. For example, Digital Living NetworkAlliance (DLNA) technical specifications are established to formulatespecifications according to which media data, such as moving image data,still image data, and music (audio) data, are mutually utilized by theAV devices and the PC.

According to DLNA guidelines, a server which provides contents isreferred to as a “digital media server” (DMS). A client which reproducesthe provided contents is referred to as a “digital media player” (DMP).DLNA guidelines prescribe conditions for connecting between a DMS and aDMP. Devices based on the DLNA guidelines can share contents simply byinterconnecting therebetween with a line, without special settings.

On the other hand, media contents can be distributed via a networkutilizing a server/client system that uses a communication protocolreferred to as a remote desktop protocol (RDP). More specifically, acertain device can display a screen of a server terminal unit, e.g., aPC, located at a distant place and cause the server terminal unit toactivate application software and to copy and transfer data. Accordingto this method, a function that places a workload on the certain deviceto perform the function can be executed as follows. A user can cause aremote server terminal unit provided with a central processing unit(CPU) which has a capacity to executes the function, such as a PC, andscreen data for displaying a result of performing the function istransferred to the certain device. As compared with a case where thefunction of application software is implemented by the device into whichthe function is incorporated, software maintenance, such as versionupgrade, can easily be performed in a case where the applicationsoftware is executed by the PC.

FIG. 6 is a schematic diagram illustrating an example of an operation ofa server/client system (information processing system) employing ageneral protocol exemplified by RDP.

A remote host terminal unit 400 illustrated in FIG. 6 corresponds to aserver. A client media terminal unit 500 corresponds to a client. Theseunits are connected to a home network 700. A television monitor 600 isan output unit which displays an image output from the client mediaterminal unit 500 and outputs also music (audio) data.

The remote host terminal unit 400 and the client media terminal unit 500communicate with each other through an optional home network 700regardless of a wired communication method or a wireless communicationmethod. Application software is executed on the remote host terminalunit 400. At that time, screen data representing a desktop screen whichserves as a user interface for designating an operation to be performedin association with the application software is transmitted from theremote host terminal unit 400 to the client media terminal unit 500.Then, the desktop screen is displayed on the television monitor 600 byperforming processing in the client media terminal unit 500.

Consequently, a user can operate the client media terminal unit 500 incooperation with the remote host terminal unit 400 as if the applicationsoftware were executed locally.

An operation of inputting data to the client media terminal unit 500associated with the application software is performed using, e.g., aremote control unit (hereinafter referred to simply as a “remotecontrol”) 510. Then, an operation instruction is transmitted from theclient media terminal unit 500 to the remote host terminal unit 400 viathe communication protocol RDP. Next, the operation instructionassociated with the application software is performed by the remote hostterminal unit 400 instead of the client media terminal unit 500.

It is assumed that the application software for handling media data inthe remote host terminal unit 400 is executed by the system. In thiscase, screen data representing the desktop screen as the user interfaceis transmitted through a user interface channel. The media data istransmitted through a media stream channel. In this case, when theclient media terminal unit 500 receives the screen data representing thedesktop screen and the media data which are respectively transmittedthrough the individual channels, the media data is combined with thescreen data representing the desktop screen. Resultant data is displayedon the television monitor 600.

When the media data is encoded in various formats, the encoded mediadata is transmitted to the client media terminal unit 500. Then, theclient media terminal unit 500 receives and decodes the media data.Subsequently, the media data is displayed on the television media 600,similarly to the above case.

The client media terminal unit 500 can be an arbitrary built-in devicecapable of reproducing media data. In this case, application softwarewhose functions are limited to some extent can be installed into theclient media terminal unit 500. An imaging device of a digital camera orthe like is connected directly to the client media terminal unit 500.Thus, processing of limited functions, such as a still imagereproduction and a slide show, can be performed on media data. Then, theprocessed media data can be displayed on the television monitor 600.

For example, Japanese Patent Application Laid-Open No. 2006-310960discusses a technique for implementing remote desktop operationenvironment in which a screen display mode and an operation are adjustedto the capability of an information terminal unit such as a portableterminal unit, while the contents of an operation performed on astandard desktop screen are maintained.

It is assumed that a camera equipped with a recording medium on whichmedia data representing a photographed image is recorded is connected tothe client media terminal unit 500 in the above operation environment inwhich the RDP is used. At that time, when a function which has arelatively light workload is performed on the media data representingthe photographed image stored in the recording medium, the applicationsoftware installed in the client media terminal unit 500 can execute thefunction. The function having the relatively light workload is, e.g.,reproduction of Joint Photographic Experts Group (JPEG) data and a slideshow if the camera is a digital camera.

However, even a digital camera may perform development of a chargecoupled device (CCD)-RAW data and color processing on other still imagedata. In addition, if the camera is a digital video camera, sometimes,it is necessary to perform a function having a relatively heavy load,e.g., editing of moving image data. In this case, a user needs totransfer once the media data representing the photographed image to theremote host terminal unit 400 in which the application software forprocessing the media data is installed. Then, the client media terminalunit 500 receives the media data processed in the remote host terminalunit 400, and reproduces the processed media data.

In addition, a plurality of remote host terminal units 400 may beprovided on the home network 700, and application software forprocessing media data is installed in the remote host terminal units 400in a decentralized manner.

In such a case, a user conventionally has to search for the remote hostterminal unit 400 which includes a necessary function each time whenmedia data is processed, so that a very time-consuming operation needsto be performed.

SUMMARY OF THE INVENTION

The present invention is directed to an information processing apparatusand an information processing method which allow a user to comfortablyperform various processing on media data without a troublesomeoperation.

According to an aspect of the present invention, an informationprocessing apparatus is provided that is configured to be connected viaa network to one or a plurality of remote apparatuses each of whichprocesses information. The information processing apparatus includes adetection unit configured to detect that an imaging apparatus isconnected thereto, a determination unit configured to determine,according to processing to be performed on media data photographed bythe imaging apparatus, whether the processing is performed by theinformation processing apparatus, an execution instruction unitconfigured to issue, when the determination unit determines that theprocessing is not performed by the information processing apparatus, anexecution instruction to the remote apparatus capable of performing theprocessing to perform the processing on the media data, and a media datareceiving unit configured to receive from the remote apparatus to whichthe execution instruction is issued by the execution instruction unitthe media data on which the processing is performed.

According to an exemplary embodiment of the present invention, a usercan comfortably perform various processing on media data without atroublesome operation.

Further features and aspects of the present invention will becomeapparent from the following detailed description of exemplaryembodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate exemplary embodiments, features,and aspects of the invention and, together with the description, serveto explain the principles of the invention.

FIG. 1 is a schematic diagram illustrating an example of a configurationof a server/client system (information processing system) according toan exemplary embodiment of the present invention.

FIG. 2 is a block diagram illustrating an example of an internal systemconfiguration of a client media terminal unit according to an exemplaryembodiment of the present invention.

FIG. 3 is a block diagram illustrating an example of an internalhardware configuration of each of a client media terminal unit, a remotehost terminal unit, a television monitor, a remote control, and a cameraaccording to an exemplary embodiment of the present invention.

FIG. 4 is a sequence chart illustrating an example of a procedureperformed by a server/client system (information processing system)according to an exemplary embodiment of the present invention.

FIG. 5 is a schematic diagram illustrating an example of a displayscreen on which a list of functions of application softwarecorresponding to a type of a camera is displayed by display controlperformed by a client media terminal unit according to an exemplaryembodiment of the present invention.

FIG. 6 is a schematic diagram illustrating an example of an operation ofa server/client system (information processing system) employing ageneral protocol exemplified by RDP.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.

FIG. 1 is a schematic diagram illustrating an example of a roughconfiguration of a server/client system (information processing system)according to an exemplary embodiment of the present invention. Theserver/client system (information processing system) illustrated in FIG.1 is configured to include a client media terminal unit 100, a remotehost terminal unit 200, a television monitor 300, a remote control 310,a camera 320 and a home network 700. FIG. 1 illustrates a configurationof a system connected to a network in an RDP operation environment. AnRDP operation in the system configuration illustrated in FIG. 1 isdescribed below in detail.

The client media terminal unit 100 corresponds to a client. The clientmedia terminal unit 100 is an information processing apparatus connectedto the remote host terminal unit (remote apparatus) 200 via the network.The client media terminal unit 100 displays and reproduces media data,such as moving image data, still image data, and music data, transmittedfrom the remote host terminal unit 200 via the home network 700. Whenthe camera 320 is a digital camera, a recording medium in which mediadata is recorded is mounted in the camera 320. Then, the camera 320 isconnected to the client medial terminal unit 100. Thus, the media datacan be displayed and reproduced. The media data is, e.g., datarepresenting a photograph and a moving image clip taken by the camera320. The recording medium is, e.g., a secure digital (SD) card. Aconnection means for connecting the digital camera to the client mediaterminal unit 100 is, e.g., a universal serial bus (USB) cable.

The remote host terminal unit 200 corresponds to a server. In an exampleillustrated in FIG. 1, a plurality of remote host terminal units, i.e.,three remote host terminal units 200-1 through 200-3 are provided. Ineach of the remote host terminal units 200-1 through 200-3, one or moretypes of application software most suitable for each of the cameras (320a, 320 b, . . . ) are installed. These remote host terminal units areconstructed so that each function can be implemented.

The client media terminal unit 100 and the remote host terminal units200 (200-1 through 200-3) are connected to the home network 700 andconstructed to be able to communicate with one another.

The television monitor 300 displays an image output from the clientmedia terminal unit 100 and outputs music (audio) data. The remotecontrol 310 is operated by, e.g., a user when an instruction is input tothe client media terminal unit 100.

The camera 320 is an imaging apparatus connected to the client mediaterminal unit 100 by a connection means, e.g., a USB cable. Varioustypes of cameras, such as a digital camera 320 a, and a digitalversatile disk (DVD) video camera 320 b, can be applied to the camera320 which can be connected to the client media terminal unit 100. FIG. 1illustrates an example in which the digital camera 320 a is connected tothe client media terminal unit 100. However, the DVD video camera 320 bor the like can be connected to the client media terminal unit 100.

The home network 700 communicatably connects the client media terminalunit 100 and the remote host terminal units 200 (200-1 through 200-3) toone another.

A number of the client media terminal unit 100 and the remote hostterminal units 200 which are connected to the home network 700 is notlimited to that which is illustrated in FIG. 1. As long as the terminalunits can be identified by addresses or the like, the present inventioncan be applied to a case where a large number of terminal units arepresent. As long as a network has a sufficient bandwidth for passingpacket data therethrough like the Internet or an intranet, any networkcan be used as the home network 700. According to the present exemplaryembodiment, e.g., built-in devices such as a media player and a gamemachine, and a network compatible television are assumed as an exampleof the client media terminal unit 100. Accordingly, not only a wiredconnection mode but also a wireless connection mode can be employed as amode for physical connection to the home network 700. As long as suchdevices are connected to the home network 700 according to the protocol,there is no limitation to the mode for physical connection thereto.

FIG. 2 is a block diagram illustrating an example of an internal systemconfiguration of the client media terminal unit 100 according to theexemplary embodiment of the present invention. The client media terminalunit 100 is constructed to include a local area network_interface(LAN_I/F) unit 101, a transport decoder 102, a video decoder 103, adisplay control unit 104, a video digital-to-analog (DA) unit 105, anaudio decoder 106, and an audio DA unit 107. In addition, the clientmedia terminal unit 100 includes also a user interface (I/F) processingunit 108, a screen layout unit 109, a USB_I/F unit 110, a remote controlreceiving unit 111, an operation unit 112, a system control unit 113,and a memory unit 114.

The LAN_I/F unit 101 receives packet data distributed from the remotehost terminal unit 200 while making adaptations of the home network 700.Then, the LAN_I/F unit 101 depacketizes the received packet data andoutputs a media data stream to the transport decoder 102. In addition,the LAN_I/F unit 101 outputs to the user I/F processing unit 108 userinterface data for operating a desktop screen.

The transport decoder 102 extracts video data (still image data andmoving image data) and audio data from media data in which video data(still image data and moving image data) and audio data input from theLAN_I/F unit 101 are multiplexed. Then, the transport decoder 102outputs the video data (the still image data and the moving image data)to the video decoder 103, and outputs the audio data to the audiodecoder 106.

The video decoder 103 performs decoding, such as JPEG decoding or MovingPicture Experts Group 2 (MPEG2) decoding, on the video data (the stillimage data and the moving image data) input from the transport decoder102. Then, the video decoder 103 outputs the decoded video data (thedecoded still image data and the decoded moving image data) to thedisplay control unit 104.

The display control unit 104 switches a display screen of the televisionmonitor 300 (or the camera 320, if necessary) and performs processingfor multiplexing on data. Then, the display control unit 104 outputs thevideo data and screen data to the video DA unit 105.

The video DA unit 105 coverts the video data and the screen data inputfrom the display control unit 104 into an analog signal and outputs theanalog signal to the television monitor 300 (or the camera 320, ifnecessary). When the data is output to the television monitor 300, thevideo DA unit 105 outputs the data thereto from, e.g., a D-terminalthereof.

The audio decoder 106 performs decoding, such as MPEG-1 Audio Layer 3(MP3) decoding or Dolby_Digital decoding, on the audio data input fromthe transport decoder 102. Then, the audio decoder 106 outputs thedecoded audio data to the audio DA unit 107.

The audio DA unit 107 converts the audio data input from the audiodecoder 106 into an analog signal. Then, the audio DA unit 107 outputsthe analog signal to an audio output unit, e.g., a speaker of thetelevision monitor 300 or the like.

However, the present invention can also be applied to an exemplaryembodiment in which the video signal and the audio signal are notconverted into analog signals in the video DA unit 105 and the audio DAunit 107, respectively, and output digital signals such as ahigh-definition multimedia interface (HDMI) signals.

The user interface processing unit 108 processes display informationabout a processing status, a result, and the like of the applicationsoftware which is executed by the remote host terminal unit 200 inresponse to an operation of the operation unit 112 or the remote control310, and outputs the processed information to the screen layout unit109.

The screen layout unit 109 reconstructs a bitmap for constructing screendata of a screen of an optimum size to be displayed on the televisionmonitor 300, based on display information input from the user I/Fprocessing unit 108 and outputs the bitmap to the display control unit104. In this case, the display control unit 104 outputs the video dataand the like to the video DA unit 105 so as to combine the video data(the still image data and the moving image data) output from the videodecoder 103 with the bitmap output from the screen layout unit 109 andas to display resultant data.

The USB_I/F unit 110 communicates with the camera 320 connected theretoby a USB cable, and receives media data photographed by the camera 320.The media data received by the USB_I/F unit 110 is transferred to thetransport decoder 102 or the remote host terminal unit 200 via theLAN_I/F unit 101. When the media data is transferred to the transportdecoder 102 via the LAN_I/F unit 101, the media data is processed by thetransport decoder 102 and a stage subsequent thereto, as describedabove. On the other hand, when the media data is transferred to theremote host terminal unit 200 via the LAN_I/F unit 101, the media datais processed by application software running on the remote host terminalunit 200.

The remote control receiving unit 111 receives an infrared signal (orlight) or the like from the remote control 310 and transmits thereceived signal to the system control unit 113. The operation unit 112serves together with the remote control 310 as an operation input meansof the client media terminal unit 100. According to the presentexemplary embodiment, an operation of application software executed onthe remote host terminal unit 200 is performed by inputting an operationfrom the operation unit 112 or the remote control 310.

The system control unit 113 executes programs and controls each unitconstituting the client media terminal unit 100 according to anoperation input from the operation unit 112 or the remote control 310.

The memory unit 14 stores various programs to be executed by the systemcontrol unit 113, and diverse information used when the program isexecuted. Information including the programs is transferred to thesystem control unit 113 when the program is executed. If necessary, thememory unit 114 stores various pieces of information obtained as aresult of processing performed by the system control unit 113.

FIG. 3 is a block diagram illustrating an example of an internalhardware configuration of each of the client media terminal unit 100,the remote host terminal unit 200, the television monitor 300, theremote control 310, and the camera 320 according to the exemplaryembodiment of the present invention.

As illustrated in FIG. 3, each of the devices 100, 200, 300, 310, and320 is constructed to have a hardware configuration which includes a CPU301, a random access memory (RAM) 302, a ROM 303, an external memory304, a detachable storage medium 305, an information input unit 306, adisplay unit 307, a communication I/F unit 308, and a bus.

The CPU 301 controls each of units 302 through 308 of the device via thebus to integratedly control an operation of the device.

The RAM 302 functions as a main memory and a work area for the CPU 301.The CPU 301 loads a program 303 a necessary for processing from the ROM303. Then, the CPU 301 executes the program 303 a to perform variousfunctional operations.

The ROM 303 stores the program 303 a and the like which are necessaryfor the CPU 301 to perform processing. The program 303 a can be storedin the external memory 304 or the detachable storage medium 305.

The external memory 304 and the detachable storage medium 305 storevarious pieces of data and information needed when the CPU 301 performsprocessing using the program 303 a or the like. The external memory 304and the detachable storage medium 305 store various pieces of data andinformation obtained by performing the processing using the program 303a or the like.

The information input unit 306 inputs information to the device. Thedisplay unit 307 displays various pieces of information and data underthe control of the CPU 301, if necessary.

The communication I/F unit 308 handles communication with externaldevices. The bus is used to communicatably connect the CPU 301, the RAM302, the ROM 303, the external memory 304, the detachable storage medium305, the information input unit 306, the display unit 307, and thecommunication I/F unit 308 to one another.

However, the client media terminal unit 100 does not necessarily includethe detachable storage medium 305 and the display unit 307 illustratedin FIG. 3.

In the case of the client media terminal unit 100, the units 102 to 109and 113 illustrated in FIG. 2 are implemented by causing the CPU 301illustrated in FIG. 3 to perform the program 303 a stored in the ROM303. For example, the LAN_I/F unit 101 and the USB_I/F unit 110illustrated in FIG. 2 are constructed as the communication I/F unit 308illustrated in FIG. 3. The remote control receiving unit 111 and theoperation unit 112 are constructed as the information input unit 306illustrated in FIG. 3. The memory unit 114 illustrated in FIG. 2 isconstructed as the RAM 302, the external memory 304, or the detachablestorage unit 305 illustrated in FIG. 3.

Each of the remote host terminal unit 200 and the television monitor 300does not necessarily include, e.g., the detachable storage medium 305illustrated in FIG. 3. The remote control 310 does not necessarilyinclude, e.g., the detachable storage medium 305 and the display unit307 illustrated in FIG. 3. The camera 320 is constructed by including ahardware component, such as an imaging unit for imaging a subject, inaddition to the units of the hardware configuration illustrated in FIG.3.

Next, a remote desktop operation of executing application softwareinstalled in the remote host terminal unit 200 under the control of theclient media terminal unit 100 is described. In this case, it is assumedthat the camera 320 of the predetermined model (or type) in which arecording medium storing media data of a photographed image is mountedis connected to the client media terminal unit 100.

FIG. 4 is a sequence chart illustrating an example of a procedureperformed by the server/client system (information processing system)according to the exemplary embodiment of the present invention. FIG. 4illustrates a procedure for performing a remote desktop operation underthe control of the client media terminal unit 100 in a configuration inwhich three remote host terminal units 200-1 through 200-3 illustratedin FIG. 1 are connected to the home network 700.

First, before the camera 320, e.g., a digital camera 320 a or a DVDvideo camera 320 b is carried out to a destination to take a picture,owner information is preliminarily registered in a flash memory or thelike mounted in the camera 320 via a PC or the like. The ownerinformation is, e.g., an owner's identification (ID) or name. Thefollowing description is given by assuming that the owner information isan owner's ID. A plurality of owner's IDs can be registered in thecamera 320.

After an image is photographed, the camera 320 is connected to theclient media terminal unit 100 by a USB cable, while the recording mediain which media data of the photographed image is stored is mounted inthe camera 320.

In a case where the camera 320 is the digital camera 320 a, a media datafile, such as JPEG, CCD-RAW, and tag image file format (TIFF), isrecorded in the recording medium as still image data of media data.Further, in a case where the camera 320 is the digital camera 320 a, amedia data file in an audio video interleaving (AVI) format, which canbe converted into an MPEG4 format, or a motion-JPEG (MJPEG) format, isrecorded in the recording medium as moving-image clip data of mediadata.

In a case where the camera 320 is the DVD video camera 320 b or a harddisk drive (HDD) digital video camera, media data files in an MPEG2 poststream (PS) file which can be converted into an MPEG2 format video file,an H.264 video file, or a Dolby_Digital audio file, are recorded in therecording medium as moving-image data.

First, the camera 320 is connected to the client media terminal unit 100by a cable. In step S101, the CPU 301 of the camera 320 transmits camerainformation (imaging apparatus information) about the camera 320 to theclient media terminal unit 100. More specifically, according to thepresent exemplary embodiment, type information about the type of thecamera 320 and the owner's ID (owner information) are transmitted to theclient media terminal unit 100. In the present exemplary embodiment,type information about the type of the above media data can be employedinstead of the type information about the camera 320.

On the other hand, when the camera 320 is connected to the client mediaterminal unit 100 by a cable, the CPU 301 of the client media terminalunit 100 detects that the camera 320 is connected thereto. The CPU 301of the client media terminal unit 100 for performing detectionprocessing constitutes a detection unit.

Then, the CPU 301 of the client media terminal unit 100 receives camerainformation which is transmitted from the camera 320 and includes thetype information about the type of the camera 320 (or type informationabout the type of the media data) and the owner's ID. At that time, theCPU 301 of the client media terminal unit 100 receives the camerainformation via the communication I/F unit 308 (i.e., the USB_I/F unit110). The CPU 301 of the client media terminal unit 100 for receivingthe camera information (the imaging apparatus information) constitutesan imaging apparatus information receiving unit.

Then, in steps S102 through S104, the CPU 301 of the client mediaterminal unit 100 transmits the received camera information to the threeremote host terminal units 200-1 through 200-3 by broadcasting. That is,the CPU 301 of the client media terminal unit 100 transmits the receivedcamera information to all of the remote host terminal units 200connected to the home network 700. The CPU 301 of the client mediaterminal unit 100 for transmitting the camera information (imagingapparatus information) constitutes an imaging apparatus informationtransmission unit.

The CPU 301 of each of the remote host terminal units 200-1 through200-3 which receives the camera information checks whether applicationsoftware associated with the type information of the camera informationis installed (provided) in the own remote host terminal unit.

For example, in a case where the type of the camera 320 is the digitalcamera 320 a, the associated application software is, e.g., a programfor performing color processing, such as color balance processing andwhite balance processing, a program for performing development onCCD-RAW data, a program for creating a slide show based on a pluralityof still images, and a program for extracting a still image from amoving image clip. On the other hand, in a case where the type of thecamera 320 is the DVD video camera 320 b, the associated applicationsoftware is, e.g., a program for performing an editing function, such astrimming or processing.

When the type information about the type of the media data is employedinstead of the type information about the type of the camera 320, theCPU 301 checks whether the application software associated with the typeinformation of the media data is installed in the own remote hostterminal unit.

If the associated application software is installed in the own remotehost terminal unit, then the CPU 301 of each of the remote host terminalunits 200-1 through 200-3 checks whether the owner's ID included in thecamera information can be permitted to access the own remote hostterminal unit. At that time, setting about permission of access for theowner's ID is preliminarily made to each of the remote host terminalunits 200-1 through 200-3 itself. It can also be set that any owner's IDis permitted to access the remote host terminal units 200-1 through200-3. Further, it can also be set that a function of the applicationsoftware to which access is permitted is changed according to each owner(owner's ID).

In the example illustrated in FIG. 4, it is assumed that the remote hostterminal unit 200-2 is provided with application software associatedwith the type of the camera 320, and permits (or authenticates) theowner’ ID to access the own remote host terminal unit by checking theowner's ID.

In step S105, the CPU 301 of the remote host terminal unit 200-2transmits address information about an address of the own remote hostterminal unit and a list of functions of the application softwareassociated with the type of the camera 320 to the client media terminalunit 100. The functions in the function list to be transmitted may varywith the owner's ID when the functions of the application software whichis permitted to be accessed are set to be changed according to eachowner's ID.

Then, the CPU 301 of the client media terminal unit 100 receives theaddress information and the function list (function information) of theapplication software associated with the type of the camera 320 whichare transmitted from the remote host terminal unit 200-2. Morespecifically, the CPU 301 of the client media terminal unit 100 receivesthe function list (function information) of the associated applicationsoftware from the remote host terminal unit 200-2, in which theassociated application software determined on the basis of the type ofthe camera is installed, and which permits the CPU 301 of the clientmedia terminal unit 100 to access the own remote host terminal unitbased on the owner's ID. The CPU 301 of the client media terminal unit100 which receives the function list (function information) constitutesa functional information receiving unit.

Next, the CPU 301 of the client media terminal unit 100 creates afunction list by combining information on the function list receivedfrom the remote host terminal unit 200-2 with function information abouta function executed locally on the client media terminal unit 100. Thefunction information about functions which are determined as executablein the own client media terminal unit 100 based on the camerainformation received from the camera 320 can be employed as the functioninformation about functions locally executed by the application softwareon the client media terminal unit 100. Then, the CPU 301 (or the displaycontrol unit 104) of the client media terminal unit 100 performs acontrol operation for displaying the created function list on thedisplay unit 307 of the camera 320 or on the television monitor 300. Atthat time, the CPU 301 (or the display control unit 104) of the clientmedia terminal unit 100 performs a control operation for displaying thefunction list by distinguishing the function information of the remotehost terminal unit 200-2 and that of the own terminal unit 100. The CPU301 (or the display control unit 104) of the client media terminal unit100 which performs the control operation for displaying the listconstitutes the display control unit.

FIG. 5 is a schematic diagram illustrating an example of a displayscreen on which a list of functions of application softwarecorresponding to the type of the camera 320 is displayed by displaycontrol performed by the client media terminal unit 100 according to theexemplary embodiment of the present invention. More specifically, FIG. 5illustrates an example of displaying a function list 501 of applicationsoftware associated with the case where the type of the camera 320 isthe digital camera 320 a.

More particularly, FIG. 5 illustrates the function list 501 in which afull screen display function (“View Full Screen”), a CCD-RAW developmentprocessing function (“RAW developing”), a rotation processing function(“Rotate”), a color balance processing function (“Color Balance”), awhite balance processing function (“White Balance”), and a printprocessing function (“Print”) are listed.

In the function list 501 illustrated in FIG. 5, the function informationabout the functions executed locally on the client media terminal unit100 and the function information about the functions executed on theremote host terminal unit 200 are displayed in different colors so as todistinguish therebetween. More specifically, the functions executedlocally on the client media terminal unit 100 are the full screendisplay function (“View Full Screen”), the rotation processing function(“Rotate”), and the print processing function (“Print”). The functionsexecuted on the remote host terminal unit 200 are the CCD-RAWdevelopment processing function (“RAW developing”), the color balanceprocessing function (“Color Balance”), and the white balance processingfunction (“White Balance”). In the example illustrated in FIG. 5, thefunctions executed locally on the client media terminal unit 100 aredisplayed in white. The functions executed on the remote host terminalunit 200 are displayed in black. Consequently, the functions executedlocally on the client media terminal unit 100 are (discriminatably)displayed by being distinguished from the functions executed on theremote host terminal unit 200.

Then, when one of the functions is selected by a user via the remotecontrol 310 from the function list 501 illustrated in FIG. 5, the CPU301 of the client media terminal unit 100 detects that the one of thefunctions is selected. Next, according to processing based on theselected function, the CPU 301 of the client media terminal unit 100determines whether the processing on the media data photographed by thecamera 320 is performed by the own client media terminal unit 100. TheCPU 301 of the client media terminal unit 100 which makes thedetermination constitutes a determination unit.

Hereinafter, a case of selecting the function executed locally on theclient media terminal unit 100, e.g., the function for performing thefull screen display of certain still image data recorded in a recordingmedium mounted in the camera 320 by a user, as illustrated in FIG. 5, isdescribed. In this case, because the full screen display function (“ViewFull Screen”) is the function executed locally on the own terminal unit100, the CPU 301 of the client media terminal unit 100 determines thatthe full screen display function (“View Full Screen”) is executed in theown terminal unit 100.

In this case, in step S106, the CPU 301 of the client media terminalunit 100 makes a request to the camera 320 for acquiring still imagedata which is target media data.

Next, in step S107, the CPU 301 of the camera 320 transmits to arequesting unit, i.e., the client media terminal unit 100 the stillimage data which is the media data requested in step S106.

Subsequently, the CPU 301 of the client media terminal unit 100 acquires(or receives) the still image data which is media data transmitted fromthe camera 320. The CPU 301 of the client media terminal unit 100 whichacquires the still image data constitutes an acquisition unit. In thisexample, because the selected function is executed locally on the clientmedia terminal unit 100, the CPU 301 of the client media terminal unit100 performs the full screen display of the still image data in the ownterminal unit 100.

Processing performed by the client media terminal unit 100 is describedbelow more specifically with reference to FIG. 2. The client mediaterminal unit 100 receives still image data which is media datatransmitted from the camera 320 via the USB_I/F unit 110. Then, in eachof the transport decoder 102, the video decoder 103, the display controlunit 104, and the vide DA unit 105, the above predetermined processingis performed on the still image data input thereto via the LAN_I/F unit101. Consequently, a still image based on the still image data isdisplayed on the full screen of the television monitor 300.

Next, a case of selecting the function of the application softwareexecuted on the remote host terminal unit 200-2, e.g., the function forperforming CCD-RAW development processing on certain still image datarecorded in the recording medium mounted in the camera 320 by a user isdescribed below. In this case, because the function for performing theCCD-RAW development processing (“RAW developing”) is executed on theremote host terminal unit 200-2, the CPU 301 of the client mediaterminal unit 100 determines that the CCD-RAW development processing isnot performed in the own terminal unit 100.

In this case, in step S106, the CPU 301 of the client media terminalunit 100 makes a request to the camera 320 for acquiring CCD-RAW datawhich is target media data.

Then, in step S107, the CPU 301 of the camera 320 transmits to therequesting unit (the client media terminal unit 100) the CCD-RAW datawhich is the media data requested in step S106.

Subsequently, the client media terminal unit 100 acquires (receives) theCCD-RAW data which is the media data transmitted from the camera 320.The CPU 301 of the client media terminal unit 100 which acquires theCCD-RAW data constitutes the acquisition unit.

Subsequently, in step S108, the CPU 301 of the client media terminalunit 100 instructs the remote host terminal unit 200-2 which can performthe CCD-RAW development processing selected by a user to perform thefunction associated with the processing via the communication I/F unit308 (the LAN_I/F unit 101) and the home network 700. When theinstruction is sent, in step S109, the CPU 301 of the client mediaterminal unit 100 also transfers the CCD-RAW data transmitted from thecamera 320 in step S107 to the remote host terminal unit 200-2. Thus,the CPU 301 of the client media terminal unit 100 which performsprocessing in steps S108 and S109 constitutes an execution instructionunit.

Then, the CPU 301 of the remote host terminal unit 2002-2 receives arequest for performing the target function (the CCD-RAW developmentprocessing) and the CCD-RAW data transmitted from the client mediaterminal unit 100 in steps S108 and S109.

Next, the CPU 301 of the remote host terminal unit 200-2 executes theapplication software for performing the CCD-RAW development processing.Thus, the development processing is performed on the received CCD-RAWdata.

Then, in step S110, the CPU 301 of the remote host terminal unit 200-2transmits to the requesting unit, i.e., the client media terminal unit100 the CCD-RAW data (media data), i.e., the still image data subjectedto the development processing. At that time, when an amount of the mediadata subjected to the development processing is large, the media datamay be converted into data of another format which can be processed bythe video decoder 103 of the client media terminal unit 100 andtransmitted to the client media terminal unit 100. The data of a format,which can be processed by the video decoder 103, is, e.g., JPEG data.

Subsequently, in step S110, the CPU 301 of the client media terminalunit 100 receives the media data subjected to the development processingfrom the remote host terminal unit 200-2 which executes the instructionin step S108. The CPU 301 of the client media terminal unit 100receiving the media data constitutes a media data receiving unit.

Then, the CPU 301 of the client media terminal unit 100 reproduces (ordisplays) a still image which is based on the still image data receivedfrom the remote host terminal unit 200-2 on the television monitor 300,if necessary. The CPU 301 of the client media terminal unit 100performing the reproduction processing constitutes a reproduction unit.

Processing performed by the client media terminal unit 100 is describedmore specifically with reference to FIG. 2. The client media terminalunit 100 receives still image data which is the media data transmittedfrom the remote host terminal unit 200-2 via the LAN_I/F unit 101. Then,the above predetermined processing is performed on the still image datain each of the transport decoder 102, the video decoder 103, the displaycontrol unit 104, and the video DA unit 105. Thus, the still image basedon the still image data is reproduced (or displayed) on the televisionmonitor 300.

As described above, according to the processing performed on the mediadata photographed by the camera 320, the client media terminal unit 100according to the present exemplary embodiment determines whether theprocessing is performed in the own terminal unit 100. When the clientmedia terminal unit 100 determines that the processing is not performedin the own terminal unit 100, the client media terminal unit 100instructs the remote host terminal unit 200-2 which can perform theprocessing to perform the processing on the media data. Then, the clientmedia terminal unit 100 receives the media data from the remote hostterminal unit 200-2 executing the instruction. With such aconfiguration, the information processing apparatus allows a user tocomfortably perform various processing without a troublesome operation.

In addition, the client media terminal unit 100 according to the presentexemplary embodiment displays a list of functions that can be performedon media data. Thus, a user can comprehend functions which can beexecuted on the media data without performing any operation.Consequently, the function of application software can be performed onmedia data by an optimum method.

In addition, when the client media terminal unit 100 according to thepresent exemplary embodiment displays a list of functions that can beexecuted on media data, the function of the remote host terminal unit200-2 and the function of the client media terminal unit 100 aredisplayed by distinguishing therebetween. Consequently, when a sequenceof processes are performed on media data, a user can easily comprehendwhich of the terminal units executes processing associated with eachfunction. When the client media terminal unit 100 differs from theremote host terminal unit 200 in processing-performance, a user can knowtime taken until the execution of processing associated with eachfunction is completed.

The above units of each apparatus illustrated in FIG. 1 according to thepresent exemplary embodiment and the steps illustrated in FIG. 4 can beimplemented by executing the program (303 a) stored in a ROM or the likein the CPU (301) of the computer. The computer and a computer-readablerecording medium in which the program is recorded are included in thepresent invention.

For example, a system, an apparatus, a method, a program or a storagemedium can be employed as a mode for implementing the present invention.More specifically, the present invention can be applied to a systemincluding a plurality of devices. Alternatively, the present inventioncan be applied to a system constituted by a single device.

The present invention includes a case where a software program forimplementing the functions of the above exemplary embodiment (theprogram corresponding to the process illustrated in the sequence chartshown in FIG. 4 according to the above exemplary embodiment) is supplieddirectly or remotely to the system or the unit. The present inventionincludes also a case where a computer of the system or the unit readsand executes the supplied program code, so that the functions of thepresent invention is achieved.

Accordingly, the program code itself installed into the computer torealize the functional processing according to the present invention bythe computer implements the present invention. In other words, thepresent invention includes the computer program itself for implementingthe functional processing according to the present invention.

In this case, as long as the computer program has the function of theprogram according to the present invention, an object code, a program tobe executed by an interpreter, and script data to be supplied to anoperating system (OS) can be included in the present invention.

The recording medium for supplying the program code is, e.g., a floppydisk, a hard disk, an optical disk, a magneto-optical (MO) disk, acompact disk read-only memory (CD-ROM), a compact disk recordable(CD-R), and a compact disk rewritable (CD-RW). In addition, a magnetictape, a nonvolatile memory card, a ROM, and DVDs (a DVD-ROM, and aDVD-R) can be employed as the recording medium for supplying the programcode.

A method for supplying the program is as follows. The terminal unit isconnected to a web site on the Internet using a browser on the clientcomputer. Then, the computer program itself according to the presentinvention or a file which is obtained by compressing the program and hasan automatic install function is downloaded to a recording medium, suchas a hard disk and supplied.

Alternatively, the object of the present invention can be achieved bydividing program codes constituting the program according to the presentinvention into a plurality of files and then downloading the files fromdifferent web sites. In other words, the present invention includes aWorld Wide Web (WWW) server used to download the program file forimplementing the functional processing according to the presentinvention.

Alternatively, the object of the present invention can be achieved asfollows. The program according to the present invention is encrypted andstored in a storage medium, such as a CD-ROM, which is distributed tousers. Then, a key for decrypting the encrypted program is downloadedfrom a web site via the Internet to a user who satisfies predeterminedconditions. Subsequently, the encrypted program is decrypted using thedownloaded key. Then, the decrypted program is installed in the computerand executed to achieve the object of the present invention.

The functions of the above exemplary embodiment can be implemented byexecuting the program code read out by the computer. In addition, thefunctions of the above exemplary embodiment can be implemented bycausing an OS or the like which runs on the computer to perform a partor all of actual operations based on instructions of the program code.

Alternatively, the functions of the above exemplary embodiment can beimplemented by writing a program code read out from a recording mediuminto a memory provided on an function expansion board inserted into acomputer or in an function expansion unit connected to the computer andthen causing a CPU or the like provided in the function expansion boardor the function expansion unit to perform a part or all of the actualoperations based on instructions of the program code.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures, and functions.

What is claimed is:
 1. An information processing apparatus configured tobe connected via a network to one or a plurality of remote apparatuseseach of which processes information, the information processingapparatus comprising: a detection unit configured to detect that animaging apparatus is connected thereto; a determination unit configuredto determine, according to processing to be performed on media dataphotographed by the imaging apparatus, whether the processing isperformed by the information processing apparatus; an executioninstruction unit configured to issue, when the determination unitdetermines that the processing is not performed by the informationprocessing apparatus, an execution instruction to the remote apparatuscapable of performing the processing to perform the processing on themedia data; and a media data receiving unit configured to receive fromthe remote apparatus to which the execution instruction is issued by theexecution instruction unit the media data on which the processing isperformed.